SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

/****** Objeto:  procedimiento almacenado dbo.wp_get_permiso    fecha de la secuencia de comandos: 02/11/2005 18:20:22 ******/
/****** Objeto:  procedimiento almacenado dbo.wp_get_permiso    fecha de la secuencia de comandos: 14/05/2003 11:57:09  ******/





CREATE procedure [dbo].[wp_get_permiso]
@tipo_operacion integer,
@cd_operador _codigo_largo,
@nm_programa _codigo_largo

AS

CREATE TABLE #permiso
(
	st_permiso int
)

IF @tipo_operacion = 0		--Alta
	INSERT INTO
		#permiso
	SELECT
		ap.st_permiso_alta
	FROM 
		wld_acceso_programas ap, wld_miembros_grupo mg
	WHERE
		ap.cd_grupo_operadores = mg.cd_grupo_operadores
		AND mg.cd_operador = @cd_operador
		AND ap.nm_programa = @nm_programa
ELSE IF @tipo_operacion = 1	--Baja
	INSERT INTO
		#permiso
	SELECT
		st_permiso_baja
	FROM 
		wld_acceso_programas ap, wld_miembros_grupo mg
	WHERE
		ap.cd_grupo_operadores = mg.cd_grupo_operadores
		AND mg.cd_operador = @cd_operador
		AND ap.nm_programa = @nm_programa
ELSE IF @tipo_operacion = 2	--Modificación
	INSERT INTO
		#permiso
	SELECT
		st_permiso_modif
	FROM 
		wld_acceso_programas ap, wld_miembros_grupo mg
	WHERE
		ap.cd_grupo_operadores = mg.cd_grupo_operadores
		AND mg.cd_operador = @cd_operador
		AND ap.nm_programa = @nm_programa
ELSE IF @tipo_operacion = 3	--Ingreso
	INSERT INTO
		#permiso
	SELECT
		st_permiso_ing
	FROM 
		wld_acceso_programas ap, wld_miembros_grupo mg
	WHERE
		ap.cd_grupo_operadores = mg.cd_grupo_operadores
		AND mg.cd_operador = @cd_operador
		AND ap.nm_programa = @nm_programa

SELECT 
	MAX(st_permiso) 
FROM 
	#permiso

DROP TABLE 
	#permiso






GO
